import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;


// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class main {
    //day - 18
    public static void main18(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        Queue<Integer> queue = new LinkedList<>();
        while (in.hasNextLine()) { // 注意 while 处理多个 case

            int a = in.nextInt();
            //判断最后是否满足条件
            while (a >= 10) {
                //判断一开始是否满足条件
                while (a >= 10) {

                    int c = func(a);
                    a = a / 10;
                    queue.add(c);
                }
                //走到这说明a是一个 个位数
                while (!queue.isEmpty()) {
                    int c = queue.poll();
                    a += c;
                }
                //检查a 是不是满足条件
                if (a < 10) {
                    System.out.println(a);
                    //return;
                }
            }
        }
    }

    public static int func(int a) {
        int c = a % 10;
        return c;
    }


    //day - 3  (1)
    public static void main31(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 注意nextLine() 是指一行字符串，中间有空格也没事 ，
        // 而scanner.next()  只会读取到一行中的空格位置
        String str = scanner.nextLine();

        //暂时存放遇到的数字串
        String cur = "";

        //存放最长的数字串
        String ret = "";

        for (int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            if (ch >= '0' && ch <= '9') {
                cur = cur + ch + "";  //注意此处要加上空格，使字符ch变成字符串
            } else {
                //比较 cur 和 str 的长度
                if (cur.length() > ret.length()) {
                    ret = cur;
                    cur = "";    //这里写不写都可以 因为后面相等的时候会走else ，cur也会清空
                } else {
                    cur = "";
                }
            }
        }
        //判断比较str最后数字串长度 和 ret 长度
        if (cur.length() > ret.length()) {
            ret = cur;
        }
        System.out.println(ret);
    }


    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * @param numbers int整型一维数组
     * @return int整型
     */
    //day - 3  (2)
    public int MoreThanHalfNum_Solution(int[] numbers) {
        //特殊情况进行判断
        if (numbers == null || numbers.length == 0) {
            return 0;
        }

        //先进行排序，找到中间位置的值 ，判断是否是众数
        Arrays.sort(numbers);
        int len = numbers.length;
        int midNum = numbers[len / 2];

        //计数器
        int count = 0;
        for (int i = 0; i < len; i++) {
            if (midNum == numbers[i]) {
                count++;
            }
        }
        if (count > len / 2) {
            return midNum;
        }
        return 0;
    }

    //利用众数，相同则计数器加1，不相同则消掉
    public int MoreThanHalfNum_Solution2(int[] numbers) {
        //特殊情况进行判断
        //两个条件不能反，若是numbers.length == 0 在前，若是numbers为空，则会发生空指针异常
        if (numbers == null || numbers.length == 0) {
            return 0;
        }
        int result = numbers[0];
        int times = 0;  //计数器

        for (int i = 1; i < numbers.length; i++) {
            if (times != 0) {
                if (result == numbers[i]) {
                    times++;
                } else {
                    times--;
                }
            } else {      //times为0 说明都抵消了
                result = numbers[i];
                times = 1;
            }
        }
        if (times == 0) {
            return 0; //说明不存在众数
        }
        //判断最后一个数是不是众数

        int count = 0;
        for (int i = 0; i < numbers.length; i++) {
            if (result == numbers[i]) {
                count++;
            }
        }
        if (count > numbers.length / 2) {
            return result;
        }
        return 0;
    }


    //day - 4  (1)
    public static void main4(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int c = scanner.nextInt();
        int d = scanner.nextInt();

        int A = (a + c) / 2;
        int B1 = (c - a) / 2;
        int B2 = (b + d) / 2;
        int C = (d - b) / 2;

        if (B1 == B2) {
            System.out.println(A + " " + B1 + " " + C);
        } else {
            System.out.println("No");
        }
    }


    //day - 4  (2)  进制转换
    public static void main42(String[] args) {
        Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
        //while (in.hasNextInt()) { // 注意 while 处理多个 case
        int a = in.nextInt();
        int b = in.nextInt();
        //Queue<Integer> queue = new LinkedList<>();
        //创建一个字符串，字符串中又表示"ABCDEF"

        boolean flg = false;
        //考虑负数的情况 ， 用一个标志位来表示负数
        if (a < 0) {
            a = -a;
            flg = true;
        }

        String table = "0123456789ABCDEF";
        StringBuilder stringBuilder = new StringBuilder();
        //先进后出 此处应该用栈比较合适，先除出来的余数放在最后面
        Queue<Character> queue = new LinkedList<>();
        while (a != 0) {
            int c = a / b; //这是商
            int d = a % b; //这是余数
            //注意进制数余数有可能是ABCDEF  这些不是整数，所以要添加的应该是字符
            queue.offer(table.charAt(d));
            a = c;
        }
        int size = queue.size();
        String ret = "";
        for (int i = size; i != 0; i--) {
            //ret = ret + queue.poll()+ "";
            stringBuilder.append(queue.poll());
        }
        if (flg == true) {
            stringBuilder.append("-");
        }
        //String[] str = {"123","234","456","789","1"};
        //String str2 = "123";
        System.out.println(stringBuilder.reverse());
        //}
    }

    //day - 5  (1)  统计回文 ：https://www.nowcoder.com/practice/
    // 9d1559511b3849deaa71b576fa7009dc?tpId=85&&tqId=29842&rp=1&ru=/
    // activity/oj&qru=/ta/2017test/question-ranking

    public static void func51(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str1 = scanner.nextLine();
        String str2 = scanner.nextLine();

        int len = str1.length();
        int count = 0;
        for (int i = 0; i <= len; i++) {
            StringBuffer str = new StringBuffer(str1);
            //插入操作
            str.insert(i, str2);

            //逆置操作,注意使用reverse() 后，原来的str也会发生逆置
            StringBuffer ret = new StringBuffer(str.reverse());
            //所以在逆置一次，变回之前的
            StringBuffer ret1 = new StringBuffer(str.reverse());

            //注意StringBuffer 中没有equals方法，需要先转成字符串

            if (ret.toString().equals(str.toString())) {
                count++;
            }
        }
        System.out.println(count);
    }


    //day - 5  (2) 连续最大和 ： https://www.nowcoder.com/practice/
    // 5a304c109a544aef9b583dce23f5f5db?tpId=85&&tqId=29858&rp=1&ru=/
    // activity/oj&qru=/ta/2017test/question-ranking
    //动态规划问题
    public static void main52(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int size = scanner.nextInt();

        //整数数组中放入元素  (16)6  -3 -2 7 -15 1 2 2
        int[] array = new int[size];
        for (int i = 0; i < size; i++) {
            array[i] = scanner.nextInt();
        }

        int sum = array[0];
        int max = array[0];

        for (int i = 0; i < size; i++) {
            sum = getMax(sum + array[i], array[i]);

            if(sum > max) {
                max = sum;
            }
        }
        System.out.println(max);
    }

    private static int getMax(int a, int b) {
        return a > b ? a : b;
    }

    //day - 30 - (2) : 因子
    //https://www.nowcoder.com/questionTerminal/
    // e8fb8f89f5d147ec92fd8ecfefe89b0d
    public static void main302(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()) {
            int n = scanner.nextInt();
            int count = 0;

            //从2 - 根号n 在这里面查找因子的范围
            for (int i = 2; i < Math.sqrt(n); i++) {
                if(n % i == 0) {
                    while(n % i == 0) {
                        //能除尽 一直除
                        n = n / i;
                    }
                    //走到这里，说明已经此因子除完了，到下一个
                    count++;
                }
            }
            if(n != 1) {
                count++;
            }
            System.out.println(count);
        }
    }


//    public static void main(String[] args) {
//        String m = "ab";
//        m = m + "ab";
//        System.out.println(m); abab ,会创建很多临时变量，不建议这么做 StringBuilder
//    }
}